﻿using System;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.Serialization;

namespace JTLeigh.Commerce.Spencer.Features.ProductFeedback.Service.Contracts.Runtime.GetProductFeedback
{

	/// <summary>
	/// Data contract representing an attribute on which a product can be rated quantitatively.
	/// </summary>
	[SuppressMessage("Microsoft.Naming", "CA1711:IdentifiersShouldNotHaveIncorrectSuffix", Justification = "Reviewed.")]
	[DataContract(Name = "ProductRatingAttribute", Namespace = "http://schemas.jtleigh.com/Commerce/Spencer/Features/ProductFeedback/1.0/Runtime/GetProductFeedback/")]
	public class ProductRatingAttribute
	{

		#region Properties

		/// <summary>
		/// Gets or sets the attribute identifier.
		/// </summary>
		/// <value>An attribute identifier <see cref="Guid"/>.</value>
		[DataMember(Name = "AttributeId", IsRequired = true)]
		public Guid AttributeId { get; set; }

		/// <summary>
		/// Gets or sets the order in which the attribute should be displayed.
		/// </summary>
		/// <value>An <see cref="Int32"/> ordinal position.</value>
		[DataMember(Name = "DisplayOrder", IsRequired = true)]
		public int DisplayOrder { get; set; }

		/// <summary>
		/// Gets or sets the attribute text.
		/// </summary>
		[DataMember(Name = "Text", IsRequired = true)]
		public string Text { get; set; }

		#endregion // Properties

	}

}
